//这几个文件可以从任意mod内被读取
//These files can be read from any mod：
data\config\ctbsettings\ctb_strings.csv  //外置文本表格。通过WeightedRandomPicker从同一个Category中选取一条文本并显示，并支持一些特殊参数
data\config\ctbsettings\ctb_refinary_stations.csv //幸存者殖民地建立的同时，为指定阵营添加精炼空间站的数量
data\config\ctbsettings\ctb_shop_items.csv //为小卖部添加商品
data\config\ctbsettings\ctb_missile_names.csv //为冰原行者的导弹装填机构提供导弹图片路径，让导弹的图片取代通用盒子图片在输送机上显示
data\config\ctbsettings\ctb_system_armor_mult //当指定战术系统激活时，为AP穿甲弹的穿甲计算提供一个护甲倍率乘子，通常用于常规减伤型的非护盾的特殊防护系统，如阻尼。圣殿骑士团或HSI这种则需要另外适配代码


********************************小卖部相关********************************
********************************Something for Greda's Shop********************************
//如果你希望你的（武器/物品）在Greda的小卖部中出售，你需要为它添加下列tag：
//If you want your（Weapons/Commodities）sold in Greda's shop,you need these tags：
//当然你可以直接通过编写ctb_shop_items.csv来替代这些步骤
//Or you can just create your "ctb_shop_items.csv " to do the same things

ctb_bar_shop 
//（必要）当物品或物品拥有这个tag时，它将会出现在小卖部中，基础数量为1，价格为物品默认价格（*1.25），解锁条件为商店等级1
//（necessary）items appears in the shop if it has this tag，Basic sales quantity 1，use Basic price（*1.25）of the item，required shop level 1

ctb_shop_price##..
//当物品拥有ctb_bar_shop标签的情况下，使用ctb_shop_price来为物品进行重新定价，比如你希望它以100星币出售，那就是用ctb_shop_price100
//This tag can override the price，"ctb_shop_price100" means 100 credits

ctb_shop_level## 
// 用于覆写物品出售的商店等级，使用范围为ctb_shop_level1-ctb_shop_level10，超出这一范围的商店等级会导致物品无法正常出现在小卖部中
// This tag can override required shop level，the number should be 0-10(no "01" or something like this please)

ctb_shop_banned##
//拥有该tag的商品在启用向小卖部自动识别添加商品功能时会被忽略。
//Item will be ignored when LunaSettings "CTBBarShopAddItemAuto" is true


********************************Something for Shield Modules********************************
********************************模块护盾相关********************************

public static boolean isCTBModuleShield(ShipAPI ship) {
        return ship.getVariant().hasHullMod("CTBShieldModuleMod");
    }


//Should use this to replace "shieldHit" when using OnHitEffectPlugin，DamageDealtModifier，or something else
//If you try apply effects when weapon hitting this "shield", Please use ship.getParentStation() to get the target you really need
//当武器命中护盾模块时，你需要这个来覆盖OnHitEffectPlugin，DamageDealtModifier的"shieldHit"
//如果你需要在你的武器命中护盾时触发额外效果， 请通过ship.getParentStation() 来获取模块盾的本体，进行效果释放


public static boolean isUsingCTBModuleShield(ShipAPI ship) {
        return isCTBModuleShield(ship) || (ship.getPhaseCloak() != null && ship.getPhaseCloak().getId().equals("CTBBlockShieldSYS") && ship.getPhaseCloak().isActive());
    }

//Should be true when ship using Shield System,or it is SHIELD
//当返回true的时候，它一定是在使用模块护盾,或者它就是护盾本身


or just use this:
public static boolean isCTBModuleShield(ShipAPI ship) {
        return ship.getVariant().hasHullMod("CTBShieldModuleMod");
    }

public static boolean isUsingCTBModuleShield(ShipAPI ship) {
        return isCTBModuleShield(ship)  || (ship.getPhaseCloak() != null && ship.getPhaseCloak().getId().contentEquals("CTBBlockShieldSYS") && ship.getPhaseCloak().isActive());
    }

********************************冰原行者相关********************************
********************************Something for Ice Walker -class missile cruiser********************************
拥有ctb_icewalker_no_storage的tag的导弹武器将不兼容冰原行者的弹药库而无法提供装填功能
weapon has tag *ctb_icewalker_no_storage* will not create missile storage in Ammo-Box

如果你的mod有"使用同一种导弹"的不同id的导弹武器
通过向ctb_missile_names.csv写入通用导弹名称，让冰原行者的弹药库在创建库存的时候将这些武器共用一个弹药库存，而不是每一种id使用独立的库存
If two or more weapons launch the same type of missile, edit ctb_missile_names.csv let Ammo-Box know these weapons are using same missile, then it will not create independent missile storage for weaponID

